home *** CD-ROM | disk | FTP | other *** search
- #if 0
- /****************************************************************************************
-
-
- IASInterface.h
-
-
- ©1993 Specular International Ltd.
-
-
- Revision History
-
- when who what & why
- ========== ========== ======================================================
- 3/1/94 paul added "id" fields to structs
- 2/19/94 paul updated to new plugin interface
-
- *****************************************************************************************/
- #endif
-
- #ifndef _IASInterface_
- #define _IASInterface_
-
-
-
- /** File/Resource types & IDs. **/
- #define kIASPlugInFileType 'IASp'
-
- #define kIASPlugInCodeType 'IASp'
- #define kIASPlugInCodeID 128
- #define kIASPlugInVersionType 'IASv'
- #define kIASPlugInVersionID 128
- #define kIASPlugInFlagsType 'IASf'
- #define kIASPlugInFlagsID 128
-
-
-
-
- enum { /** Animation Assistant messages. **/
-
- kIAS_SetupStorage = 'setu',
- kIAS_GetParams = 'getp',
- kIAS_ManipulateEvents = 'mane',
- kIAS_CleanUpStorage = 'clen'
-
- };
-
-
-
-
- /** Animation Assistant <flags> bit constants.
- ** The kIAS_PluginTakesParameters flag is currently used to add
- ** an ellipsis (…) to the menu item when the Assistant takes
- ** parameters. To add the ellipsis, use ResEdit to change the last
- ** byte of the IASf resource from 00 to 01 in the resource template
- ** (ResEdit file) provided.
- **/
- #define kIAS_PluginTakesParameters 0x00000001
-
-
- /** Version constant.
- ** The version constant is set in the IASv resource of the template.
- **/
- #define kIAS_CurrentVersion 0x00000001
-
-
-
- enum { /** object types **/
-
- k_IAS_sphere = 0,
- k_IAS_square,
- k_IAS_plane,
- k_IAS_cube,
- k_IAS_cylinder,
- k_IAS_cone,
- k_IAS_extrude = 7,
- k_IAS_lathe,
- k_IAS_terrain,
- k_IAS_light = 12,
- k_IAS_camera,
- k_IAS_freeform,
- k_IAS_mesh,
- k_IAS_font
-
- };
-
-
-
- typedef struct vec3D {
-
- float x, y, z;
-
- } Vec3D;
-
-
-
-
- typedef struct IASEvent {
-
- struct IASEvent *next;
- struct IASEvent *prev;
-
- long id; /** Internal ID, don't change for existing
- event, set to 0 for new ones. **/
- float time; /** In seconds, set to -1 to delete this event. **/
- short spline; /** TRUE if spline between this and next **/
- short flags;
- short ease_in; /** 0 to 100, generally **/
- short ease_out; /** 0 to 100, generally **/
-
- /** the following only affects the object itself **/
-
- Vec3D dimension;
- Vec3D offset;
-
- /** everything below affects the children objects as well **/
-
- Vec3D scale; /** for now, keep x = y = z **/
- Vec3D rotation;
- Vec3D position;
-
- } IASEvent, *IASEventPtr;
-
-
-
-
-
- typedef struct IASObjectInfo { /** All fields are informative only;
- none should be modified other than
- the <selected_events> ptr if the
- head of the event chain changes. **/
-
- struct IASObjectInfo *next;
- struct IASObjectInfo *prev;
-
- long id;
-
- short type;
- short flags;
- IASEventPtr selected_events;
-
- unsigned char name[32]; /** p-string. **/
-
- } IASObjectInfo, *IASObjectInfoPtr;
-
-
-
-
- typedef unsigned long (*IASProcPtr)( long message,
- void *param,
- void *storage );
-
-
-
-
- #endif
-